package model

import "gitee.com/ling1314/origin-utility/utils"

const (
	AppDisplayModeForWindow = "窗口模式"
)

type AppIssue struct {
	AppId       int64  `json:"appId,string" gorm:"primaryKey"`
	AppName     string `json:"appName"`
	Alias       string `json:"alias"`
	Icon        string `json:"icon"`
	LinkPath    string `json:"linkPath"`
	ExecPath    string `json:"execPath"`
	AppParams   string `json:"appParams"`
	WorkSpace   string `json:"workSpace"`
	DisplayMode int    `json:"displayMode"` // 1-窗口模式 ；2-无痕模式
	IsAdmin     bool   `json:"isAdmin"`
	IsSingle    bool   `json:"isSingle"` // 是否为单例应用，true-单例；false - 共享
	ClusterId   int64  `json:"clusterId,string"`
	IsPublic    bool   `json:"isPublic"` // 是否对全局公开
}

func (r *AppIssue) TableName() string {
	return "va_app_issue"
}

type IssueAppForm struct {
	AppInstallIds utils.StringArrayInt64 `json:"appInstallIds,string"`
	Alias         string                 `json:"alias"`
	DisplayMode   int                    `json:"displayMode"`
	IsAdmin       bool                   `json:"isAdmin"`
	IsSingle      bool                   `json:"isSingle"`
	IsPublic      bool                   `json:"isPublic"`
	IssueDeptIds  utils.StringArrayInt64 `json:"issueDeptIds"`
	IssueUserIds  utils.StringArrayInt64 `json:"issueUserIds"`
}

type AppDetail struct {
	AppIssue AppIssue `json:"appIssue"`
	Cluster  Cluster  `json:"cluster"`
}
